#pragma once

#include "..\..\cz_def.h"

class FileReader
{
public:
	virtual bool Init(IN stringc& strFile, IN u32 useMemory, IN u32 reservedSpace, IN u32 readFlag) = 0;
	virtual void Uninit() = 0;

	virtual u64 GetFileSize() = 0;

	virtual bool GetData(IN u64 offset, OUT u8* data, IN u32 size) = 0;
	virtual bool Getu64(IN u64 offset, OUT u64& v) = 0;
	virtual bool Getu32(IN u64 offset, OUT u32& v) = 0;
	virtual bool Getu16(IN u64 offset, OUT u16& v) = 0;
	virtual bool Getu8(IN u64 offset, OUT u8& v) = 0;

	virtual void SetReservedSpace(IN u32 reservedSpace) = 0;

};